<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Planner (programming language)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Planner_(programming_language)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Planner_programming_language rootpage-Planner_programming_language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Planner (programming language)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Planner</th></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Programming_paradigm#Multi-paradigm" title="Programming paradigm">Multi-paradigm</a>: <a href="Logic_programming" title="Logic programming">logic</a>, <a href="Procedural_programming" title="Procedural programming">procedural</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed by</a></th><td class="infobox-data"><a href="Carl_Hewitt" title="Carl Hewitt">Carl Hewitt</a></td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">1969<span style="display:none"> (<span class="bday dtstart published updated">1969</span>)</span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Major <a href="Programming_language_implementation" title="Programming language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-data">Micro-planner, Pico-Planner, Popler, PICO-PLANNER</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;"><a href="Programming_language#Dialects,_flavors_and_implementations" title="Programming language">Dialects</a></th></tr><tr><td colspan="2" class="infobox-full-data">QA4, Conniver, QLISP, Ether</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Prolog" title="Prolog">Prolog</a>, <a href="Smalltalk" title="Smalltalk">Smalltalk</a></td></tr></tbody></table>
<p><b>Planner</b> (often seen in publications as "PLANNER" although it is not an acronym) is a <a href="Programming_language" title="Programming language">programming language</a> designed by <a href="Carl_Hewitt" title="Carl Hewitt">Carl Hewitt</a> at <a href="MIT" class="mw-redirect" title="MIT">MIT</a>, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and then essentially the whole language was implemented as <i>Popler</i> by Julian Davies at the <a href="University_of_Edinburgh_School_of_Informatics" class="mw-redirect" title="University of Edinburgh School of Informatics">University of Edinburgh</a> in the <a href="POP-2" title="POP-2">POP-2</a> programming language.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Derivations such as QA4, Conniver, QLISP and Ether (see <a href="Scientific_community_metaphor" title="Scientific community metaphor">scientific community metaphor</a>) were important tools in <a href="Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a> research in the 1970s, which influenced commercial developments such as <a href="Knowledge_Engineering_Environment" title="Knowledge Engineering Environment">Knowledge Engineering Environment</a> (KEE) and Automated Reasoning Tool (ART).
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Procedural_approach_versus_logical_approach">Procedural approach versus logical approach</h2></div>
<p>The two major paradigms for constructing semantic software systems were <a href="Procedural_programming" title="Procedural programming">procedural</a> and <a href="Logic_programming" title="Logic programming">logical</a>. The procedural paradigm was epitomized by
<a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> which featured recursive procedures that operated on list structures.
</p><p>The logical paradigm was epitomized by uniform proof procedure <a href="Resolution_(logic)" title="Resolution (logic)">resolution-based derivation (proof) finders</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> According to the logical paradigm it was “cheating” to incorporate procedural knowledge.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Procedural_embedding_of_knowledge">Procedural embedding of knowledge</h2></div>
<p>Planner was invented for the purposes of the procedural embedding of knowledge<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> and was a rejection of the <a href="Resolution_(logic)" title="Resolution (logic)">resolution</a> uniform proof procedure paradigm,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> which
</p>
<ol><li><i>Converted everything to clausal form.</i> Converting all information to <a href="Clausal_form" class="mw-redirect" title="Clausal form">clausal form</a> is problematic because it hides the underlying structure of the information.</li>
<li><i>Then used resolution to attempt to obtain a proof by contradiction by adding the clausal form of the negation of the theorem to be proved.</i> Using only resolution as the rule of inference is problematical because it hides the underlying structure of proofs. Also, using proof by contradiction is problematical because the axiomatizations of all practical domains of knowledge are inconsistent in practice.</li></ol>
<p>Planner was a kind of hybrid between the procedural and logical paradigms because it combined programmability with logical reasoning. Planner featured a procedural interpretation of logical sentences where an implication of the form <style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */
.mw-parser-output .monospaced{font-family:monospace,monospace}
/* end https://en.wikipedia.org/ */
</style><span class="monospaced">(P implies Q)</span> can be procedurally interpreted in the following ways using pattern-directed invocation:
</p>
<ol><li><a href="Forward_chaining" title="Forward chaining">Forward chaining</a> (antecedently):
<dl><dd><span class="monospaced"><i>If assert</i> P, <i>assert</i> Q</span></dd>
<dd><span class="monospaced"><i>If assert not</i> Q, <i>assert not</i> P</span></dd></dl></li>
<li><a href="Backward_chaining" title="Backward chaining">Backward chaining</a> (consequently)
<dl><dd><span class="monospaced"><i>If goal</i> Q, <i>goal</i> P</span></dd>
<dd><span class="monospaced"><i>If goal not</i> P, <i>goal not</i> Q</span></dd></dl></li></ol>
<p>In this respect, the development of Planner was influenced by <a href="Natural_deduction" title="Natural deduction">natural deductive</a> <a href="Logical_system" class="mw-redirect" title="Logical system">logical systems</a> (especially the one by <a href="Fitch-style_calculus" class="mw-redirect" title="Fitch-style calculus">Frederic Fitch</a> [1952]).
</p>
<div class="mw-heading mw-heading2"><h2 id="Micro-planner_implementation">Micro-planner implementation</h2></div>
<p>A subset called Micro-Planner was implemented by <a href="Gerald_Jay_Sussman" title="Gerald Jay Sussman">Gerry Sussman</a>, <a href="Eugene_Charniak" title="Eugene Charniak">Eugene Charniak</a> and <a href="Terry_Winograd" title="Terry Winograd">Terry Winograd</a><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> and was used in Winograd's natural-language understanding program <a href="SHRDLU" title="SHRDLU">SHRDLU</a>, Eugene Charniak's story understanding work, Thorne McCarty's work on legal reasoning, and some other projects. This generated a great deal of excitement in the field of AI. It also generated controversy because it proposed an alternative to the logic approach that had been one of the mainstay paradigms for AI.
</p><p>At <a href="SRI_International" title="SRI International">SRI International</a>, Jeff Rulifson, Jan Derksen, and <a href="Richard_Waldinger" title="Richard Waldinger">Richard Waldinger</a> developed QA4 which built on the constructs in Planner and introduced a context mechanism to provide modularity for expressions in the database. Earl Sacerdoti and Rene Reboh developed QLISP, an extension of QA4 embedded in <a href="INTERLISP" class="mw-redirect" title="INTERLISP">INTERLISP</a>, providing Planner-like reasoning embedded in a procedural language and developed in its rich programming environment. QLISP was used by <a href="Richard_Waldinger" title="Richard Waldinger">Richard Waldinger</a> and Karl Levitt for program verification, by Earl Sacerdoti for planning and execution monitoring, by <a href="Jean-Claude_Latombe" title="Jean-Claude Latombe">Jean-Claude Latombe</a> for computer-aided design, by <a href="Nachum_Dershowitz" title="Nachum Dershowitz">Nachum Dershowitz</a> for program synthesis, by Richard Fikes for deductive retrieval, and by Steven Coles for an early expert system that guided use of an econometric model.
</p><p>Computers were expensive. They had only a single slow processor and their memories were very small by comparison with today. So Planner adopted some efficiency expedients including the following:
</p>
<ul><li>Backtracking<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> was adopted to economize on the use of time and storage by working on and storing only one possibility at a time in exploring alternatives.</li>
<li>A unique name assumption was adopted to save space and time by assuming that different names referred to different objects. For example, names like Peking (previous PRC capital name) and Beijing (current PRC capital transliteration) were assumed to refer to different objects.</li>
<li>A <a href="Closed-world_assumption" title="Closed-world assumption">closed-world assumption</a> could be implemented by conditionally testing whether an attempt to prove a goal exhaustively failed. Later this capability was given the misleading name "<a href="Negation_as_failure" title="Negation as failure">negation as failure</a>" because for a goal <span class="monospaced">G</span> it was possible to say: "if attempting to achieve <span class="monospaced">G</span> exhaustively fails then assert <span class="monospaced">(Not G)</span>."</li></ul>
<div class="mw-heading mw-heading2"><h2 id="The_genesis_of_Prolog">The genesis of Prolog</h2></div>
<p><a href="Gerry_Sussman" class="mw-redirect" title="Gerry Sussman">Gerry Sussman</a>, <a href="Eugene_Charniak" title="Eugene Charniak">Eugene Charniak</a>, <a href="Seymour_Papert" title="Seymour Papert">Seymour Papert</a> and <a href="Terry_Winograd" title="Terry Winograd">Terry Winograd</a> visited the University of <a href="Edinburgh" title="Edinburgh">Edinburgh</a> in 1971, spreading the news about Micro-Planner and <a href="SHRDLU" title="SHRDLU">SHRDLU</a> and casting doubt on the resolution uniform proof procedure approach that had been the mainstay of the Edinburgh Logicists. At the University of Edinburgh, Bruce Anderson implemented a subset of Micro-Planner called PICO-PLANNER,<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> and Julian Davies (1973) implemented essentially all of Planner.
</p><p>According to Donald MacKenzie, <a href="Patrick_J._Hayes" class="mw-redirect" title="Patrick J. Hayes">Pat Hayes</a> recalled the impact of a visit from Papert to Edinburgh, which had become the "heart of <a href="Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a>'s Logicland," according to Papert's MIT colleague, Carl Hewitt. Papert eloquently voiced his critique of the resolution approach dominant at Edinburgh "…and at least one person upped sticks and left because of Papert."<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>The above developments generated tension among the Logicists at Edinburgh. These tensions were exacerbated when the UK Science Research Council commissioned Sir James Lighthill to write a report on the AI research situation in the UK. The <a href="Lighthill_report" title="Lighthill report">resulting report</a> [<a href="James_Lighthill" title="James Lighthill">Lighthill</a> 1973; <a href="John_McCarthy_(computer_scientist)" title="John McCarthy (computer scientist)">McCarthy</a> 1973] was highly critical although <a href="SHRDLU" title="SHRDLU">SHRDLU</a> was favorably mentioned.
</p><p><a href="Pat_Hayes" title="Pat Hayes">Pat Hayes</a> visited Stanford where he learned about Planner. When he returned to Edinburgh, he tried to influence his friend Bob Kowalski to take Planner into account in their joint work on automated theorem proving. "Resolution theorem-proving was demoted from a hot topic to a relic of the misguided past. <a href="Bob_Kowalski" class="mw-redirect" title="Bob Kowalski">Bob Kowalski</a> doggedly stuck to his faith in the potential of resolution theorem proving. He carefully studied Planner.”.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Kowalski [1988] states "I can recall trying to convince Hewitt that Planner was similar to SL-resolution." But Planner was invented for the purposes of the procedural embedding of knowledge and was a rejection of the resolution uniform proof procedure paradigm. Colmerauer and Roussel recalled their reaction to learning about Planner in the following way:
</p><p>"While attending an IJCAI convention in September ‘71 with Jean Trudel, we met <a href="Bob_Kowalski" class="mw-redirect" title="Bob Kowalski">Robert Kowalski</a> again and heard a lecture by Terry Winograd on natural language processing. The fact that he did not use a unified formalism left us puzzled. It was at this time that we learned of the existence of Carl Hewitt’s programming language, Planner. The lack of formalization of this language, our ignorance of Lisp and, above all, the fact that we were absolutely devoted to logic meant that this work had little influence on our later research."<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p><p>In the fall of 1972, Philippe Roussel implemented a language called <a href="Prolog" title="Prolog">Prolog</a> (an abbreviation for <b>PRO</b>grammation en <b>LOG</b>ique – French for "programming in logic"). Prolog programs are generically of the following form (which is a special case of the backward-chaining in Planner):
</p>
<dl><dd><span class="monospaced"><i>When goal</i> Q, <i>goal</i> P<sub>1</sub> <i>and</i> ... <i>and goal</i> P<sub>n</sub></span></dd></dl>
<p>Prolog duplicated the following aspects of Micro-Planner:
</p>
<ul><li>Pattern directed invocation of procedures from goals (<i>i.e.</i> <a href="Backward_chaining" title="Backward chaining">backward chaining</a>)</li>
<li>An indexed data base of pattern-directed procedures and ground sentences.</li>
<li>Giving up on the completeness paradigm that had characterized previous work on theorem proving and replacing it with the programming language procedural embedding of knowledge paradigm.</li></ul>
<p>Prolog also duplicated the following capabilities of Micro-Planner which were pragmatically useful for the computers of the era because they saved space and time:
</p>
<ul><li>Backtracking control structure</li>
<li>Unique Name Assumption by which different names are assumed to refer to distinct entities, <i>e.g.</i>, Peking and Beijing are assumed to be different.</li>
<li>Reification of Failure. The way that Planner established that something was provable was to successfully attempt it as a goal and the way that it establish that something was unprovable was to attempt it as a goal and explicitly fail. Of course the other possibility is that the attempt to prove the goal runs forever and never returns any value. Planner also had a <span class="monospaced">(not expression)</span> construct which succeeded if <span class="monospaced">expression</span> failed, which gave rise to the “<a href="Negation_as_failure" title="Negation as failure">Negation as Failure</a>” terminology in Planner.</li></ul>
<p>Use of the Unique Name Assumption and Negation as Failure became more questionable when attention turned to Open Systems.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p><p>The following capabilities of Micro-Planner were omitted from Prolog:
</p>
<ul><li>Pattern-directed invocation of procedural plans from assertions (<i>i.e</i>., <a href="Forward_chaining" title="Forward chaining">forward chaining</a>)</li>
<li>Logical negation, <i>e.g.</i>, <span class="monospaced">(not (human Socrates))</span>.</li></ul>
<p>Prolog did not include negation in part because it raises implementation issues. Consider for example if negation were included in the following Prolog program:
</p>
<dl><dd><span class="monospaced"><i>not</i> Q.</span></dd>
<dd><span class="monospaced">Q :- P.</span></dd></dl>
<p>The above program would be unable to prove <span class="monospaced"><i>not</i> P</span> even though it follows by the rules of mathematical logic. This is an illustration of the fact that Prolog (like Planner) is intended to be a programming language and so does not (by itself) prove many of the <a href="Logical_consequence" title="Logical consequence">logical consequences</a> that follow from a declarative reading of its programs.
</p><p>The work on Prolog was valuable in that it was much simpler than Planner. However, as the need arose for greater expressive power in the language, Prolog began to include many of the capabilities of Planner that were left out of the original version of Prolog.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Carl Hewitt Middle History of Logic Programming: Resolution, Planner, Prolog and the Japanese Fifth Generation Project ArXiv 2009. <style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0904.3036">0904.3036</a></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">McCarthy et al. 1962</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Robinson 1965</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Green 1969</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">Hewitt 1971</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">Robinson 1965</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">Sussman, Charniak, and Winograd 1971</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Golomb and Baumert 1965</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">Anderson 1972</span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">MacKenzie 2001 p 82.</span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">Bruynooghe, Pereira, Siekmann, and van Emden [2004]</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><a href="Alain_Colmerauer" title="Alain Colmerauer">Colmerauer</a> and Roussel 1996</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">Hewitt and de Jong 1983, Hewitt 1985, Hewitt and Inman 1991</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading3"><h3 id="Bibliography">Bibliography</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */
.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}
/* end https://en.wikipedia.org/ */
</style><div class="refbegin refbegin-columns references-column-width" style="column-width: 30em">
<ul><li>Bruce Anderson. Documentation for LIB PICO-PLANNER School of Artificial Intelligence, Edinburgh University. 1972</li>
<li>Bruce Baumgart. Micro-Planner Alternate Reference Manual Stanford AI Lab Operating Note No. 67, April 1972.</li>
<li><cite id="CITEREFColes1975" class="citation cs2">Coles, Steven (1975), "The Application of Artificial Intelligence to Heuristic Modeling", <i>2nd US-Japan Computer Conference</i></cite>.</li>
<li><cite id="CITEREFFikes1975" class="citation cs2">Fikes, Richard (1975), <i>Deductive Retrieval Mechanisms for State Description Models</i>, IJCAI</cite>.</li>
<li><cite id="CITEREFFitch1952" class="citation cs2">Fitch, Frederic (1952), <i>Symbolic Logic: an Introduction</i>, New York: Ronald Press</cite>.</li>
<li><cite id="CITEREFGreen1969" class="citation cs2">Green, Cordell (1969), "Application of Theorem Proving to Problem Solving", <i>IJCAI</i></cite>.</li>
<li><cite id="CITEREFHewitt1969" class="citation journal cs1">Hewitt, Carl (1969). "PLANNER: A Language for Proving Theorems in Robots". <i>IJCAI</i>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.80.756">10.1.1.80.756</a></span>.</cite></li>
<li><cite id="CITEREFHewitt1971" class="citation cs2">Hewitt, Carl (1971), "Procedural Embedding of Knowledge In Planner", <i>IJCAI</i></cite>.</li>
<li>Carl Hewitt. "The Challenge of Open Systems" Byte Magazine. April 1985</li>
<li>Carl Hewitt and Jeff Inman. "DAI Betwixt and Between: From ‘Intelligent Agents’ to Open Systems Science" IEEE Transactions on Systems, Man, and Cybernetics. Nov/Dec 1991.</li>
<li>Carl Hewitt and Gul Agha. "Guarded Horn clause languages: are they deductive and Logical?" International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in <i>Artificial Intelligence at MIT</i>, Vol. 2. MIT Press 1991.</li>
<li><cite id="CITEREFHewitt2006" class="citation cs2">Hewitt, Carl (March 2006), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171210124010/https://vvvvw.aaai.org/Papers/Symposia/Spring/2006/SS-06-08/SS06-08-003.pdf"><i>The repeated demise of logic programming and why it will be reincarnated – What Went Wrong and Why: Lessons from AI Research and Applications</i></a> <span class="cs1-format">(PDF)</span>, Technical Report, AAAI Press, archived from <a rel="nofollow" class="external text" href="https://vvvvw.aaai.org/Papers/Symposia/Spring/2006/SS-06-08/SS06-08-003.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2017-12-10</cite>.</li>
<li>William Kornfeld and Carl Hewitt. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/5693">The Scientific Community Metaphor</a> MIT AI Memo 641. January 1981.</li>
<li>Bill Kornfeld and Carl Hewitt. "The Scientific Community Metaphor" IEEE Transactions on Systems, Man, and Cybernetics. January 1981.</li>
<li>Bill Kornfeld. "The Use of Parallelism to Implement a Heuristic Search" IJCAI 1981.</li>
<li>Bill Kornfeld. "Parallelism in Problem Solving" MIT EECS Doctoral Dissertation. August 1981.</li>
<li>Bill Kornfeld. "Combinatorially Implosive Algorithms" CACM. 1982</li>
<li>Robert Kowalski. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110607140400/http://www.doc.ic.ac.uk/~rak/papers/limitations%20of%20logic.pdf">"The Limitations of Logic"</a> Proceedings of the 1986 ACM fourteenth annual conference on Computer science.</li>
<li>Robert Kowalski. <a rel="nofollow" class="external text" href="http://www.doc.ic.ac.uk/~rak/papers/the%20early%20years.pdf">"The Early Years of Logic Programming"</a> CACM January 1988.</li>
<li><cite id="CITEREFLatombe1976" class="citation cs2">Latombe, Jean-Claude (1976), "Artificial Intelligence in Computer-Aided Design", <i>CAD Systems</i>, North-Holland</cite>.</li>
<li><cite id="CITEREFMcCarthyAbrahamsEdwardsHart1962" class="citation cs2">McCarthy, John; Abrahams, Paul; Edwards, Daniel; Hart, Timothy; Levin, Michael (1962), <i>Lisp 1.5 Programmer's Manual</i>, MIT Computation Center and Research Laboratory of Electronics</cite>.</li>
<li><cite id="CITEREFRobinson1965" class="citation cs2">Robinson, John Alan (1965), "A Machine-Oriented Logic Based on the Resolution Principle", <i>Communications of the ACM</i>, <b>12</b>: <span class="nowrap">23–</span>41, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F321250.321253">10.1145/321250.321253</a></span></cite>.</li>
<li>Gerry Sussman and Terry Winograd. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/5833">Micro-planner Reference Manual</a> AI Memo No, 203, MIT Project MAC, July 1970.</li>
<li>Terry Winograd. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/7095">Procedures as a Representation for Data in a Computer Program for Understanding Natural Language</a> MIT AI TR-235. January 1971.</li>
<li>Gerry Sussman, Terry Winograd and Eugene Charniak. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/6184">Micro-Planner Reference Manual (Update)</a> AI Memo 203A, MIT AI Lab, December 1971.</li>
<li>Carl Hewitt. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/6916">Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot</a> AI Memo No. 251, MIT Project MAC, April 1972.</li>
<li>Eugene Charniak. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/6892">Toward a Model of Children's Story Comprehension</a> MIT AI TR-266. December 1972.</li>
<li>Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, May 1973.</li>
<li>Jeff Rulifson, Jan Derksen, and Richard Waldinger. "QA4, A Procedural Calculus for Intuitive Reasoning" SRI AI Center Technical Note 73, November 1973.</li>
<li>Scott Fahlman. "A Planning System for Robot Construction Tasks" MIT AI TR-283. June 1973</li>
<li>James Lighthill. "Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.</li>
<li>John McCarthy. "Review of ‘Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.</li>
<li>Robert Kowalski <a rel="nofollow" class="external text" href="http://www.doc.ic.ac.uk/~rak/papers/IFIP%2074.pdf">"Predicate Logic as Programming Language"</a> Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973</li>
<li>Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973.</li>
<li>Carl Hewitt, Peter Bishop and Richard Steiger. "A Universal Modular Actor Formalism for Artificial Intelligence" IJCAI 1973.</li>
<li>L. Thorne McCarty. "Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning" Harvard Law Review. Vol. 90, No. 5, March 1977</li>
<li>Drew McDermott and Gerry Sussman. <a rel="nofollow" class="external text" href="http://hdl.handle.net/1721.1/6204">The Conniver Reference Manual</a> MIT AI Memo 259A. January 1974.</li>
<li>Earl Sacerdoti, et al., "QLISP A Language for the Interactive Development of Complex Systems" AFIPS. 1976</li>
<li><cite id="CITEREFSacerdoti1977" class="citation cs2">Sacerdoti, Earl (1977), <i>A Structure for Plans and Behavior</i>, Elsevier North-Holland</cite>.</li>
<li><cite id="CITEREFWaldingerLevitt1974" class="citation cs2">Waldinger, Richard; Levitt, Karl (1974), <i>Reasoning About Programs Artificial Intelligence</i></cite>.</li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20030727192519/http://www.lim.univ-mrs.fr/~colmer/ArchivesPublications/HistoireProlog/19november92.pdf">Alain Colmerauer's and Philippe Roussel's 1992 account of the birth of Prolog</a> at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a> (archived July 27, 2003)</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-04-21" href="https://en.wikipedia.org/wiki/?title=Planner_(programming_language)&oldid=1219991808">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>